CT for BX: Category Theory Foundations for Bidirectional Model Transformations
نویسنده
چکیده
Model-driven engineering (MDE) is a prominent approach to software development, in which models of the domain and the software system are primary assets of the development process. Normally, models are inter-related, perhaps in a very complex way, and keeping them mutually consistent (synchronized) is a difficult task, which is crucial for MDE. An important special case is synchronization of two models: changes in one of them must be propagated to the other. This setting is now called bidirectional model transformation or BX. Algebraic frameworks for BX have a long history going back to the 1980s, when simple algebraic models were applied for the infamous view update problem in databases. Over the past decade, these models were clarified, refined and essentially developed by the Harmony Group (Benjamin Pierce et al) in their work on developing programming languages for string-based data synchronization. Their framework is based on an interesting algebraic structure called a lens. Model synchronization requires adding to the framework one more crucial ingredient — mappings (relationships) between models, or deltas, which results in the notion of a delta lens. The latter is an algebra comprising several diagrammatic operations on models and model mappings, which satisfy several equational laws. Even an initial algebraic elaboration of the delta lens framework leads to categorical constructs often considered advanced, e.g., profunctors and fibrations. On the other hand, update propagation operations constituting a delta lens lack universal properties, so that a genuinely categorical specification of delta lenses is not straightforward. In any case, categorical methods are invading the BX area, and amongst eight papers accepted for the BX workshop collocated with ETAPS’12, at least three can be tagged as “essentially categorical”. The goal of the talk is to present an overview of the area and some recent results, including those obtained in collaboration with Krzysztof Czarnecki, Yingfei Xiong and Tom Maibaum (Canada), and Frank Hermann, Hartmut Ehrig and Fernando Orejas (Europe).
منابع مشابه
Notions of Bidirectional Computation and Entangled State Monads
Bidirectional transformations (bx) support principled consistency maintenance between data sources. Each data source corresponds to one perspective on a composite system, manifested by operations to ‘get’ and ‘set’ a view of the whole from that particular perspective. Bx are important in a wide range of settings, including databases, interactive applications, and model-driven development. We sh...
متن کاملVerified bidirectional transformations by construction
Bidirectional transformations (bx) are of increasing significance in model-based engineering. Currently bx are defined using a number of specialised transformation languages. In this paper we show how standard UML elements such as use cases and OCL constraints can be used to define bx, thus taking advantage of the wide industrial and educational adoption and support for UML. We define patterns ...
متن کاملBidirectional Transformations with Deltas: A Dependently Typed Approach (Talk Proposal)
In recent years in the bx literature, attention has turned to incor-porating intensional information about edits (based on monoid ac-tions [HPW12,AU14, for example]), or more generally, deltas (based oncategories [DXC11a, DXC11b]), describing model updates. This talksketches a dependently-typed approach to consistency maintenance,à la Meertens/Stevens [Mee98, Ste10], buildin...
متن کاملTowards Rigorously Faking Bidirectional Model Transformations
Bidirectional model transformations (bx) are mechanisms for automatically restoring consistency between multiple concurrently modified models. They are, however, challenging to implement; many model transformation languages not supporting them at all. In this paper, we propose an approach for automatically obtaining the consistency guarantees of bx without the complexities of a bx language. Fir...
متن کاملTowards Bidirectional Higher-Order Transformation for Model-Driven Co-evolution
In model-driven development (MDD), numerous metamodels, models, and model transformations need to be taken into account. These MDD-based artifacts—although highly interdependent—are autonomously maintained. Changes in one artifact (e.g., in a model) are not automatically reflected in other dependent artifacts (e.g., in a model transformation). The barrier for a tight integration of MDD-based ar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012